基于單片機的自然電場記錄器
2007/10/29 11:39:00
自然電場法是利用電化學(xué)作用在周圍產(chǎn)生的自然極化電場進(jìn)行找礦、填圖和解決水文地質(zhì)問題的一種被動源電法勘探方法[1]。采用電位觀測法是觀測自然電場的最常用的方式。傳統(tǒng)的測量自然電場儀器只能測量單通道信號,并且不能實現(xiàn)數(shù)據(jù)存儲和導(dǎo)出功能。本方案設(shè)計的自然電場記錄器目的在于實現(xiàn)對mV級的低頻自然電場信號的采集,并進(jìn)行數(shù)據(jù)顯示、存儲、瀏覽,以及與PC機之間的通信。 1 硬件電路設(shè)計 對于微弱的自然電場信號,幅值處于數(shù)百微伏至數(shù)十毫伏之間,頻帶處于0.01—100Hz范圍內(nèi)。為實現(xiàn)對mV級的低頻自然電場信號的采集、數(shù)據(jù)存儲顯示、用戶按鍵操作以及與PC機串口數(shù)據(jù)傳輸?shù)裙δ?,設(shè)計出相應(yīng)的硬件電路模塊。硬件框圖如圖1所示,由DC/DC模塊、前置放大與低通模塊、A/D(AD7705)模數(shù)轉(zhuǎn)換電路、FLASH(AT45DB041)存儲模塊、LCD(LCM1602)顯示模塊和串口通信(MAX232)模塊六個模塊組成。 圖1 硬件原理框圖 自然電場信號在前置放大與濾波模塊先進(jìn)行放大和抗混疊濾波,信號再進(jìn)入A/D模數(shù)轉(zhuǎn)換模塊,AD7705在單片機設(shè)置的參數(shù)控制下工作,一次采集結(jié)束數(shù)據(jù)通過LCD顯示,用戶確認(rèn)保存時AT89C51將數(shù)據(jù)寫入至FLASH中,最后通過串口將數(shù)據(jù)導(dǎo)出至PC機中。 DC/DC模塊實現(xiàn)將電池組電壓進(jìn)行穩(wěn)壓整流,轉(zhuǎn)換成電路所需的±5V工作電壓和+2.5V參考電壓。前放采用高精密儀表放大器INA2128,INA2128是一種低漂移、高增益、高帶寬、高共模抑制比、帶內(nèi)部保護(hù)的雙通道儀表放大器[2]。外接一個電阻即可實現(xiàn)儀表放大,放大倍數(shù)可高達(dá)10000,很適合于微弱信號的處理。濾波部分實現(xiàn)為濾除工頻及高頻噪聲。濾波電路采用低功耗雙運算放大器OPA2650,組成陷波和低通電路。鍵盤模塊實現(xiàn)單片機掃描鍵盤響應(yīng)用戶操作,實現(xiàn)用戶對采集過程的控制。LCD顯示模塊采用LCM1602液晶顯示模塊,支持5×7點陣和2×16字符顯示兩種模式,自帶西文字庫,背光亮度和顯示對比度可調(diào)。由液晶顯示屏和內(nèi)置HD4470驅(qū)動器兩部分組成,單片機通過寫控制字方式訪問驅(qū)動器來實現(xiàn)對顯示屏的控制。串口通信模塊實現(xiàn)RS232電平與TTL電平的轉(zhuǎn)換,MAX232內(nèi)含兩個接收器和兩個發(fā)送器,單電源供電,與PC機的串口通信。下面是對A/D(AD7705)模塊和FLASH(AT45DB041)存儲模塊的接口電路進(jìn)行分析。 1.1 AD7705接口電路 AD7705是的兩通道、16位分辨率、內(nèi)置可編程增益放大器(范圍1~128)、支持SPI接口、可變采樣率(20Hz、25Hz、100Hz、200Hz、50Hz、60Hz、250Hz、500Hz八個檔位)、低功耗(3V工作電壓功耗為1mW)的∑-△A/D轉(zhuǎn)換器,它適用于寬動態(tài)范圍測量、工業(yè)控制或工藝控制中的低頻信號的轉(zhuǎn)換。AD7705靈活的SPI接口使其能很容易地與大多數(shù)微處理器進(jìn)行連接,很容易構(gòu)成對采樣速率要求不高的數(shù)據(jù)采集系統(tǒng)。因此很適合低頻自然電場信號的測量。 圖2 AD7705接口電路 AD7705 的編程功能用片內(nèi)寄存器的設(shè)置來控制。對這些寄存器的讀/ 寫操作通過器件的串行接口來完成。AD7705提供SPI接口,在單片機的IO資源有限的情況下串行數(shù)據(jù)傳輸方式利于節(jié)省IO資源,由于AT89C51自身不帶SPI接口,通過模擬SPI時序?qū)D7705片內(nèi)寄存器進(jìn)行讀寫操作,實現(xiàn)對AD7705工作方式的設(shè)定和數(shù)據(jù)的讀取。SPI接口由SCLK、DIN、DOUT、DRDY和CS組成,DIN 線用來向片內(nèi)寄存器傳送數(shù)據(jù),而DOUT 線用來訪問寄存器里的數(shù)據(jù)。SCLK是串行時鐘輸入,所有的數(shù)據(jù)傳輸都和SCLK信號有關(guān)。DRDY線作為狀態(tài)信號,以提示數(shù)據(jù)什么時候已準(zhǔn)備好從寄存器讀數(shù)據(jù)。輸出寄存器中有新的數(shù)據(jù)時,DRDY 變?yōu)榈碗娖?。CS 是片選信號,用來選擇器件。 接口電路如圖2所示,本設(shè)計中CS已固定至低電平,單片機P1.4管腳提供時鐘SCLK,在上升沿將數(shù)據(jù)通過DIN數(shù)據(jù)流寫入寄存器。設(shè)定參數(shù)包括濾波同步、雙極性模式、緩沖模式、自校準(zhǔn)模式、時鐘選擇、增益控制和采樣率設(shè)置等。設(shè)置好寄存器啟動采集,一次轉(zhuǎn)換結(jié)束DRDY管腳為低電平,產(chǎn)生中斷通知單片機將數(shù)據(jù)讀出,讀數(shù)據(jù)過程將由SCLK和DOUT配合實現(xiàn),上升沿DOUT數(shù)據(jù)有效,單片機讀取一次轉(zhuǎn)換數(shù)據(jù)。兩通道循環(huán)采集,直到完成用戶設(shè)定的采集次數(shù)。為提高準(zhǔn)確度和精度,采取變增益的辦法,變增益滿足不同的幅值信號;降低基準(zhǔn)電壓;采用自校準(zhǔn)模式。 1.2 FLASH(AT45DB041)接口電路 AT45DB041是ATMEL公司帶SPI接口的串行FLASH存儲器。傳統(tǒng)快閃存儲器往往利用多條地址線和并行接口來實現(xiàn)隨機存取數(shù)據(jù),而AT45DB041則利用串行接口來實現(xiàn)連續(xù)存取數(shù)據(jù)。簡單的串行接口簡化了硬件電路,使線路板尺寸變小,成本降低,抗干擾能力增強,系統(tǒng)的可靠性得以提高。AT45DB041內(nèi)部結(jié)構(gòu)圖如圖3所示,存儲空間為其4Mbit,分為2048頁,每頁264個字節(jié);除主存儲頁外,還包含2個SRAM數(shù)據(jù)緩沖區(qū),每個區(qū)的容量均為264個字節(jié)。數(shù)據(jù)可以直接寫入主存, 也可以先寫入Buffer , 然后再將Buffer 的數(shù)據(jù)整個復(fù)制到主存的某一頁, 也可以在主存正處于編程時將數(shù)據(jù)寫入Buffer。本設(shè)計方案中一個站點采集雙通道,單通道采樣100次,一次2字節(jié),一次電位差數(shù)據(jù)大約占用一頁,一次雙通道采集占用兩頁,所以一共可容納1024次記錄。 圖3 AT45DB041內(nèi)部結(jié)構(gòu)圖 通過單片機模擬SPI接口時序完成對AT45DB041中數(shù)據(jù)的讀寫操作,當(dāng)芯片使能腳CS為低電平時,在時鐘輸入腳(SCK)的控制下,通過串行數(shù)據(jù)輸入腳(SI),便可將命令碼、主存儲頁或緩沖區(qū)地址碼串行輸入,然后即可寫入數(shù)據(jù)。讀數(shù)據(jù)過程不同在于寫入讀操作命令碼及數(shù)據(jù)地址后,單片機通過SO管腳讀出數(shù)據(jù)。需注意的是,所有的命令碼、地址、數(shù)據(jù)串行輸入時,均是高位在前,低位在后。當(dāng)寫保護(hù)腳(WP)為低電平時,主存儲頁的前256頁不能寫入數(shù)據(jù)。當(dāng)復(fù)位腳(RESET)變?yōu)榈碗娖綍r,將中斷所有正在進(jìn)行的讀操作,并將內(nèi)部置成空閑狀態(tài)。一旦該腳變?yōu)楦唠娖?,即可對芯片進(jìn)行正常的讀寫操作。 數(shù)據(jù)的讀出包括主存儲頁直接讀出、從主存儲頁讀取數(shù)據(jù)至緩沖區(qū)、從緩沖區(qū)讀數(shù)據(jù)、讀狀態(tài)寄存器等四種。除命令碼不同外,讀取的方法均大同小異,下面只介紹將從主存儲頁直接讀出數(shù)據(jù)的方法。主存儲頁讀允許用戶從2048主存儲頁的任一頁中讀取數(shù)據(jù),在SCK 時鐘脈沖的控制下,先串行輸入命令碼(51H)、緊接著是4個保留位、然后是20 個地址位(即11個頁地址位和9個頁中數(shù)據(jù)起始地址位)、最后是32個無關(guān)位。4個保留位是用于將來擴展該芯片的容量而設(shè)置的,對于AT45DB041 可輸入4 個0,32個無關(guān)位用于初始化讀操作。數(shù)據(jù)通過SO腳串行輸出,在數(shù)據(jù)的讀出過程中,芯片使能腳必須保持低電平,當(dāng)一頁數(shù)據(jù)的最后一個字節(jié)讀完后,會從該頁的第一個字節(jié)開始繼續(xù)讀取數(shù)據(jù)。當(dāng)芯片使能腳(CS)由低電平變?yōu)楦唠娖綍r,將終止數(shù)據(jù)的讀取,SO腳保持高阻態(tài)。 2 軟件程序設(shè)計 圖4 軟件設(shè)計框架圖 圖4描述了軟件設(shè)計的總體框架,儀器的軟件實現(xiàn)包括兩部分,單片機控制程序和上位機的通信數(shù)據(jù)預(yù)處理程序。單片機控制程序在KEILC51集成開發(fā)環(huán)境下進(jìn)行,主要實現(xiàn)采集主程序、AD7705轉(zhuǎn)換控制程序、AT45DB041讀寫程序、鍵盤掃描程序、與上位機串口通信接發(fā)數(shù)據(jù)程序和LCD字符顯示程序。上位機軟件在VC環(huán)境下進(jìn)行,通過與下位機的串口通信程序,將數(shù)據(jù)從儀器中導(dǎo)出,并實現(xiàn)數(shù)據(jù)瀏覽、極差校正、數(shù)據(jù)繪圖等自然電場數(shù)據(jù)預(yù)處理功能。 2.1 單片機程序 圖5 采集主程序流程 這里舉例采集主程序[3]和串口通信程序[4]。采集主程序流程如圖5所示:初始化包括LCD顯示詢問用戶開始采集數(shù)據(jù)是否還是與導(dǎo)出數(shù)據(jù);按下確定鍵則按預(yù)設(shè)的采集參數(shù)啟動采集,按取消鍵則與上位機進(jìn)行通信導(dǎo)出數(shù)據(jù);啟動采集后AD7705兩通道先后各采集100次,采集結(jié)束后求均值顯示自然電場值,提示用戶保存數(shù)據(jù),按下確定數(shù)據(jù)保存至FLASH中,再詢問是否開始一次新的采集,按下確定鍵開始一次新的采集;按下取消鍵結(jié)束操作。 串口通信程序?qū)崿F(xiàn)與PC機間傳輸數(shù)據(jù)功能,單片機串口設(shè)定為工作方式1,波特率設(shè)置為19200,8位數(shù)據(jù)位、無奇偶校驗。圖6所示,需要導(dǎo)出數(shù)據(jù)時,上電后用戶進(jìn)入通信狀態(tài)等待PC機發(fā)送命令,當(dāng)接收到命令申請串口中斷,一次從FLASH起始地址讀取十字節(jié)數(shù)據(jù),發(fā)送至PC機,等待PC機的接收,上位機一次接收完成后,再向單片機發(fā)送命令,循環(huán)進(jìn)行直到接收用戶預(yù)設(shè)的記錄點數(shù)為止。 圖6 串口通信示意圖 3 測試數(shù)據(jù)與結(jié)論 3.1 野外實測數(shù)據(jù) 為驗證儀器的靈敏度和精確度,室內(nèi)先進(jìn)行雙通道的一致性測試和重復(fù)性測試,與標(biāo)準(zhǔn)信號源的對比。室內(nèi)試驗通過后在內(nèi)蒙古東烏旗道特蘇木西南(N 45°38´03.0",E 118°00´00.0")——(N 45°21´52.9",E 117°59´59.9")進(jìn)行了點距為50米的600點測量,測線長度30Km。各個野外測量布站示意如圖7所示,一個站點采集兩通道△U1和△U2數(shù)據(jù)。 圖7 野外測量布站示意圖 數(shù)據(jù)記錄未進(jìn)行極差校正的測線剖面圖如圖8所示。 圖8內(nèi)蒙東烏旗地區(qū)3線自然電位觀測曲線 3.2 結(jié)論 自然電場記錄器硬件由DC/DC模塊、前置放大與低通模塊、A/D(AD7705)模數(shù)轉(zhuǎn)換電路、FLASH(AT45DB0
提交
查看更多評論